#include "Game.h"
#include "TransitionManager.h"


TransitionManager::TransitionManager(void)
	{
	}


TransitionManager::~TransitionManager(void)
	{
	}

void TransitionManager::update( float tiempoJuego )
	{
		if (transiciones.empty())
			return;


		ITransicion *tr = NULL;		

		for(vector<ITransicion*>::iterator it = transiciones.begin();  it != transiciones.end(); ){
			tr = *it;
			if (tr->terminado(tiempoJuego)){				
				it = transiciones.erase(it);
				tr->valor = tr->finalValue;
				delete tr;
			}
			else{				
				tr->onUpdate(tiempoJuego);
				++it;
			}
		}
	}

void TransitionManager::addTransicion( ITransicion *tr )
	{
		tr->onStart(TIEMPO_TRANSCURRIDO);
		transiciones.push_back(tr);
	}

bool TransitionManager::onEvent( Event *e )
	{
		// al cargar un mapa
		// borramos todos

		while(!transiciones.empty()){
				delete transiciones.back();
				transiciones.pop_back();
			}
		return false;
	}